Merge Sort

PDF versionPDF version

#include<stdio.h>
#include<conio.h>

void main()
{
 int a[20],b[20],c[40],m,n,i,j,k,temp;
 clrscr();

 printf("\n\n Enter the size of the 'a' array: ");
 scanf("%d",&m);
 printf("\n Enter %d elements: ",m);
 for(i=0;i<m;i++)
  scanf("%d",&a[i]);

 printf("\n\n Enter the size of the 'b' array: ");
 scanf("%d",&n);
 printf("\n Enter %d elements: ",n);
 for(i=0;i<n;i++)
  scanf("%d",&b[i]);

// BUBBLE SORT
 for(i=0;i<m-1;i++)
 {
  for(j=0;j<m-i-1;j++)
  {
   if(a[j]>a[j+1])
   {
    temp=a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
   }
  }
 }

//SELECTION SORT
 for(i=0;i<n-1;i++)
 {
  for(j=i+1;j<n;j++)
  {
   if(b[i]>b[j])
   {
    temp=b[i];
    b[i]=b[j];
    b[j]=temp;
   }
  }
 }

/* printf("\n Sorted Array (a): ");  //to display sorted array a
 for(i=0;i<m;i++)
  printf("%d ",a[i]);

 printf("\n Sorted Array (b): ");  //to display sorted array b
 for(i=0;i<n;i++)
  printf("%d ",b[i]);
*/

 i=0;j=0;
 for(k=0;k<(m+n);k++)
 {
  if(i==m)
  {
   c[k]=b[j];
   j++;
  }
  else if(j==n)
  {
   c[k]=a[i];
   i++;
  }
  else if(a[i]<b[j])
  {
   c[k]=a[i];
   i++;
  }
  else
  {
   c[k]=b[j];
   j++;
  }
 }

 printf("\n Merged Array: ");
 for(i=0;i<(m+n);i++)
  printf("%d ",c[i]);
 getch();
}